import { fileURLToPath, URL } from "node:url";
import vue from "@vitejs/plugin-vue";

import { defineConfig, loadEnv } from "vite";
import { resolve } from "path";

export default ({ mode }) => {
    return defineConfig({
        plugins: [vue()],
        resolve: {
            alias: {
                // "@ip": resolve(__dirname, "src"), // 多项目要注意下
                // "@": resolve(__dirname, "src"), // 多项目要注意下
                "@": fileURLToPath(new URL("./src", import.meta.url)),
            },
            extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json"],
        },

        esbuild: {},
        build: {
            target: "es2020", // 构建时的兼容目标选项，可以是ES版本/浏览器版本/esnext/modules ,详情看vite官网,默认modules
            // outDir:'dist', // 指定输出路径（相对于 项目根目录).
            // assetsDir:'assets', // 指定生成静态资源的存放路径（相对于 build.outDir）。
            sourcemap: false, //开发/测试用true，生产false
            chunkSizeWarningLimit: 500, // chunk 大小警告的限制。<> 单位KiB,1KiB是 1024 字节Byte,1KB是1000字节。
        },

        server: {
            host: true, // 设置为true，则局域网内部都能访问
            port: 3200,
            strictPort: true, //为 true 时若端口已被占用则会直接退出，而不是尝试下一个可用端口。
            open: false,
            proxy: {
                "/api": {
                    target: "https://www.baidu.com",
                    changeOrigin: true,
                    rewrite: (path) => path.replace(/^\/api/, ""),
                },
            },
        },
    });
};
